/***************************************************************************

-------------------
    begin                : 
    copyright            : kuzkok
    email                : kuzkok at gmail.com

***************************************************************************
*                                                                         *
*   This program is free software; you can redistribute it and/or modify  *
*   it under the terms of the GNU General Public License as published by  *
*   the Free Software Foundation; either version 2 of the License, or     *
*   (at your option) any later version.                                   *
*   
*   Данная программа является свободным программным обеспечением;         *
*   Вы можете распространять ее и/или модифицировать в соответствии с     *
*   GNU General Public License опубликованной Фондом свободного           *
*   программного обеспечения; используемая версия лицензии - 2 или        *
*   (по вашему выбору) любая более поздняя                                *
***************************************************************************/

#ifndef LINELOOPPASSPORT_H
#define LINELOOPPASSPORT_H

#include "nonfacilityobject.h"

class LineLoopPassport: public NonFacilityObject
{
    Q_OBJECT
public:
    LineLoopPassport();
    explicit LineLoopPassport(QUuid theEventID);
    explicit LineLoopPassport(QString whereClause);

    QUuid lineLoopEventID()
    {
        return mLineLoopEventID;
    }

    QUuid productByPassport()
    {
        return mProductByPassport;
    }

    QString category()
    {
        return mCategory;
    }

    QString registerNumber()
    {
        return mRegisterNumber;
    }

    QString purpose()
    {
        return mPurpose;
    }

    double length()
    {
        return mLength;
    }

    double lengthBySurvey()
    {
        return mLengthBySurvey;
    }

    double temperatureByPassport()
    {
        return mTemperatureByPassport;
    }

    double pressureByPassport()
    {
        return mPressureByPassport;
    }

signals:

public slots:
    void setLineLoopEventID(QUuid value)
    {
        mLineLoopEventID = value;
    }

    void setProductByPassport(QUuid value)
    {
        mProductByPassport = value;
    }

    void setCategory(QString value)
    {
        mCategory = value;
    }

    void setRegisterNumber(QString value)
    {
        mRegisterNumber = value;
    }

    void setPurpose(QString value)
    {
        mPurpose = value;
    }

    void setLength(double value)
    {
        mLength = value;
    }

    void setLengthBySurvey(double value)
    {
        mLengthBySurvey = value;
    }

    void setTemperatureByPassport(double value)
    {
        mTemperatureByPassport = value;
    }

    void setPressureByPassport(double value)
    {
        mPressureByPassport = value;
    }


protected:
    void buildInsertStatement();
    void buildUpdateStatement();
    void bindQueryValues(QSqlQuery &query);

private:
    void loadValues();
    QUuid
            mLineLoopEventID,
            mProductByPassport;
    QString
            mCategory,
            mRegisterNumber,
            mPurpose;
    double
            mLength,
            mLengthBySurvey,
            mTemperatureByPassport,
            mPressureByPassport;
};

#endif // LINELOOPPASSPORT_H
